home *** CD-ROM | disk | FTP | other *** search
/ IRIX 6.2 Development Libraries / SGI IRIX 6.2 Development Libraries.iso / dist / complib.idb / usr / share / catman / p_man / cat3 / complib / zhbev.z / zhbev
Text File  |  1996-03-14  |  4KB  |  133 lines

  1.  
  2.  
  3.  
  4. ZZZZHHHHBBBBEEEEVVVV((((3333FFFF))))                                                            ZZZZHHHHBBBBEEEEVVVV((((3333FFFF))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      ZHBEV - compute all the eigenvalues and, optionally, eigenvectors of a
  10.      complex Hermitian band matrix A
  11.  
  12. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  13.      SUBROUTINE ZHBEV( JOBZ, UPLO, N, KD, AB, LDAB, W, Z, LDZ, WORK, RWORK,
  14.                        INFO )
  15.  
  16.          CHARACTER     JOBZ, UPLO
  17.  
  18.          INTEGER       INFO, KD, LDAB, LDZ, N
  19.  
  20.          DOUBLE        PRECISION RWORK( * ), W( * )
  21.  
  22.          COMPLEX*16    AB( LDAB, * ), WORK( * ), Z( LDZ, * )
  23.  
  24. PPPPUUUURRRRPPPPOOOOSSSSEEEE
  25.      ZHBEV computes all the eigenvalues and, optionally, eigenvectors of a
  26.      complex Hermitian band matrix A.
  27.  
  28.  
  29. AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
  30.      JOBZ    (input) CHARACTER*1
  31.              = 'N':  Compute eigenvalues only;
  32.              = 'V':  Compute eigenvalues and eigenvectors.
  33.  
  34.      UPLO    (input) CHARACTER*1
  35.              = 'U':  Upper triangle of A is stored;
  36.              = 'L':  Lower triangle of A is stored.
  37.  
  38.      N       (input) INTEGER
  39.              The order of the matrix A.  N >= 0.
  40.  
  41.      KD      (input) INTEGER
  42.              The number of superdiagonals of the matrix A if UPLO = 'U', or
  43.              the number of subdiagonals if UPLO = 'L'.  KD >= 0.
  44.  
  45.      AB      (input/output) COMPLEX*16 array, dimension (LDAB, N)
  46.              On entry, the upper or lower triangle of the Hermitian band
  47.              matrix A, stored in the first KD+1 rows of the array.  The j-th
  48.              column of A is stored in the j-th column of the array AB as
  49.              follows:  if UPLO = 'U', AB(kd+1+i-j,j) = A(i,j) for max(1,j-
  50.              kd)<=i<=j; if UPLO = 'L', AB(1+i-j,j)    = A(i,j) for
  51.              j<=i<=min(n,j+kd).
  52.  
  53.              On exit, AB is overwritten by values generated during the
  54.              reduction to tridiagonal form.  If UPLO = 'U', the first
  55.              superdiagonal and the diagonal of the tridiagonal matrix T are
  56.              returned in rows KD and KD+1 of AB, and if UPLO = 'L', the
  57.              diagonal and first subdiagonal of T are returned in the first two
  58.              rows of AB.
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. ZZZZHHHHBBBBEEEEVVVV((((3333FFFF))))                                                            ZZZZHHHHBBBBEEEEVVVV((((3333FFFF))))
  71.  
  72.  
  73.  
  74.      LDAB    (input) INTEGER
  75.              The leading dimension of the array AB.  LDAB >= KD + 1.
  76.  
  77.      W       (output) DOUBLE PRECISION array, dimension (N)
  78.              If INFO = 0, the eigenvalues in ascending order.
  79.  
  80.      Z       (output) COMPLEX*16 array, dimension (LDZ, N)
  81.              If JOBZ = 'V', then if INFO = 0, Z contains the orthonormal
  82.              eigenvectors of the matrix A, with the i-th column of Z holding
  83.              the eigenvector associated with W(i).  If JOBZ = 'N', then Z is
  84.              not referenced.
  85.  
  86.      LDZ     (input) INTEGER
  87.              The leading dimension of the array Z.  LDZ >= 1, and if JOBZ =
  88.              'V', LDZ >= max(1,N).
  89.  
  90.      WORK    (workspace) COMPLEX*16 array, dimension (N)
  91.  
  92.      RWORK   (workspace) DOUBLE PRECISION array, dimension (max(1,3*N-2))
  93.  
  94.      INFO    (output) INTEGER
  95.              = 0:  successful exit.
  96.              < 0:  if INFO = -i, the i-th argument had an illegal value.
  97.              > 0:  if INFO = i, the algorithm failed to converge; i off-
  98.              diagonal elements of an intermediate tridiagonal form did not
  99.              converge to zero.
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.